package java_12_20;

/**
 * 1.线程：把一个大任务拆成多个小任务，这个小任务就是线程
 * 2.进程是操作系统资源分配的最小单位（家庭）
 *   线程是操作系统调度得最小单位（家庭成员），是进程的执行单元
 *   一个进程至少有一个线程
 *   进程的资源是 互相隔离的，同属于一个进程的不同线程，资源是共享的
 *
 * 3.共有五种，本质是两种，后三种是前两种的变种
 * 1>继承Thread类
 * 2>实现Runnable接口
 * 3>匿名内部类，继承Thread类
 * 4>匿名内部类，实现Runnable接口
 * 5>lambda表达式
 * 4.Thread是jdk封装的一个线程类
 * 5.API接口，工具箱，插座
 * 线程其实是操作系统的概念，操作系统内核
 * 6.后台线程，不影响主线程退出
 * 当主线程结束了，后台线程随着主线程的结束就结束了
 * 我们创建的线程是前台线程
 * 7.等待一个线程 join（）
 * 8.控制线程的执行顺序更多是线程的结束
 * 9.实际的休眠时间，一定大于设置的时间
 * 10.多线程不一定能提高效率，因为线程的创建还需要时间
 * 11.State枚举类
 * public enum State{
 *     values:获取所有的枚举
 *     name:获取到枚举的实例
 *     equal：判断是否相等，==也能判断
 * }
 *public class Demo4 {
 *     public static void main(String[] args) {
 *         for(Thread.State state: Thread.State.values()){
 *             System.out.println(state);
 *         }
 *     }
 * }//出来六种，网上有五种和七种
 *                 new
 *                          waiting
 * timed_waiting
 *               runnable
 *                          blocked
 *
 *              terminated
 * 线程：Jconsole
 *
 */
public class Demo1 {
    public static void main(String[] args) {
        Thread thread=new Thread(()->{
            System.out.println(5555);
        });
        thread.start();
    }
}
